// 同步代码  瞬间执行完
// 要解释的问题出来了  同步代码都会跟看到的不一样
// 变量提升
// 背后有个什么机制，执行栈，2个阶段
// 代码的编译阶段  很快的执行完
// 代码的执行阶段 
// java c  javac a.java 编译阶段（错误， 变量的声明 作用域）  .class 运行  .class
// js之中变量不是独立存在的，变量类型由值决定，在特定的作用域下声明
// 作用域优先于变量存在的  全局作用域  在执行栈中执行时
// 变量提升
// lhs rhs 
// 在js中要使用变量  到相应的作用域找出来  那个他
var a;
a = 1;
// 声明了a  undedined
console.log(a);// undefined ? 1